package chapter04;

public class Java22_Object {
    public static void main(String[] args) {
        // TODO 接口
        // 可以简单理解为规则
        // 基本语法：interface 接口名称 {规则属性，规则行为}
        // 接口其实是抽象的
        // 规则属性必须为固定值不能修改
        // 属性和行为必须为公共的
        // 属性应该是静态的
        // 行为应该是抽象的
        // 接口和类是两个层面得东西
        // 接口可以继承其他接口
        // 类得对象需要遵循接口，在java中，这个遵循称之为实现；类需要实现接口，而且可以实现多个接口
        Computer computer = new Computer();
        Light light1 = new Light();
        computer.usb1 = light1;

        Light light2 = new Light();
        computer.usb2 = light2;
        computer.powerSupply();
    }
}
interface USBInerface {

}
interface USBSupply extends USBInerface{
    public void powerSupply();
}
interface USBReceive extends USBInerface{
    public void powerReceive();
}
class Computer implements USBSupply{

    public USBReceive usb1;
    public USBReceive usb2;
    public void powerSupply() {
        System.out.println("电脑提供能源");
        usb1.powerReceive();
        usb2.powerReceive();
    }
}
class Light implements USBReceive{
    public void powerReceive() {
        System.out.println("电灯接收能源");
    }
}